For each..next
Kontrollsatsen for each..next är en konstruktion för skriptiteration som exekverar en eller flera satser för varje värde i en kommaavgränsad lista. Satserna inom slingan som innesluts av for och next exekveras för varje värde i listan.
Syntax:
En speciell syntax gör det möjligt att generera listor med namn på filer och mappar i den aktuella mappen.
for each var in list
[statements]
[exit for [ ( when | unless ) condition ]
[statements]
next [var]
Argument:
Argument | Beskrivning |
---|---|
var | Namnet på en skriptvariabel som får ett nytt värde från lista för varje exekvering av slingan. Om var anges efter next, måste variabelnamnet överensstämma med det variabelnamn som angivits efter motsvarande for each. |
Värdet på variabeln var kan ändras av satser inom slingan, men detta brukar inte göras inom programmering.
Om en exit for-sats påträffas i slingan flyttas skriptexekveringen till den första satsen efter next-satsen som markerar slutet på slingan. En exit for-sats kan göras villkorad genom det valbara användandet av ett when- eller unless-suffix.
Syntax:
list := item { , item }
item := constant | (expression) | filelist mask | dirlist mask | fieldvaluelist mask
Argument | Beskrivning |
---|---|
constant | Valfritt tal eller valfri sträng Observera att en sträng som skrivs direkt i skriptet måste omslutas av enkla citattecken. En sträng utan enkla citattecken tolkas som en variabel och då används värdet för variabeln. Tal behöver inte omslutas av enkla citattecken. |
expression | Ett godtyckligt uttryck. |
mask | En fil- eller katalognamnsmask som får innehålla valfria giltiga filnamnstecken samt standardjokertecknen * och ?. Du kan använda absoluta sökvägar eller sökvägar till lib://. |
condition | Ett logiskt uttryck som utvärderas till True eller False. |
statements | Valfri grupp av en eller flera Qlik Sense-skriptsatser. |
filelist mask | Denna syntax skapar en kommaavgränsad lista över alla filer i den aktuella mappen som matchar filnamnsmasken. |
dirlist mask | Denna syntax skapar en kommaavgränsad lista över alla kataloger i den aktuella katalog som matchar mappnamnsmasken. |
fieldvaluelist mask | Syntaxen itererar genom värdena i ett fält som redan har laddats in i Qlik Sense. |
Exempel 1: Ladda en fillista
Exempel 2: Skapa en fillista på disk
Detta exempel laddar en lista över alla Qlik Sense-relaterade filer i en mapp.
Exempel 3: Itererar genom värdena i ett fält
Det här exemplet itererar genom listan med laddade värden för FIELD och genererar ett nytt fält, NEWFIELD. För varje värde i FIELD skapas två NEWFIELD-poster.
Den resulterande tabellen ser ut så här:
NEWFIELD |
---|
one-1 |
one-2 |
two-1 |
two-2 |
three-1 |
three-2 |